package com.ruicar.afs.cloud.bizcommon.print.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruicar.afs.cloud.common.core.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @author: phong
 * @date 2020-06-08
 * @description 打印模板管理表
 */
@Data
@Accessors(chain = true)
@TableName(value = "com_print_form_manage", autoResultMap = true)
public class ComPrintFormManage extends BaseEntity<ComPrintFormManage> {

    /**
     * 打印模板编号;打印模板编号
     */
    @NotBlank(message = "模板编号不能为空")
    @NotNull(message = "模板编号不能为空")
    @ApiModelProperty("模板编号")
    private String printFormId;
    /**
     * 打印模板名称
     */
    @NotBlank(message = "模板名称不能为空")
    @NotNull(message = "模板名称不能为空")
    @ApiModelProperty("模板名称")
    private String printFormName;
    /**
     * 版本号
     */
    @NotNull(message = "版本号不能为空")
    @ApiModelProperty("版本号")
    private String versionId;
    /**
     * 模板类型;0-通用，1-私用（数据字典）
     */
    @ApiModelProperty("模板类型")
    private String formTpye;
    /**
     * 生效时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("生效时间")
    private Date effectTime;
    /**
     * 失效时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("失效时间")
    private Date failureTime;
    /**
     * 是否启用;0-否，1-是（数据字典）
     */
    @ApiModelProperty("是否启用")
    private String isEnable;
    /**
     * 是否电子签;0-否，1-是（数据字典）
     */
    @ApiModelProperty("是否电子签")
    private String isElectronic;
    /**
     * 电子签编号
     */
    @ApiModelProperty("电子签编号")
    private String electronicNo;
    /**
     * 是否需要盖章
     */
    @ApiModelProperty("是否需要盖章")
    private String isSignature;
    /**
     * 盖章方案编号
     */
    @ApiModelProperty("盖章方案编号")
    private String solutionId;
    /**
     * 附件大类;影像件管理表
     */
    @ApiModelProperty("附件大类;影像件管理表")
    private String attachmentClass;
    /**
     * 附件小类;影像件管理表
     */
    @ApiModelProperty("附件小类;影像件管理表")
    private String attachmentSubClass;
    /**
     * 文件签订归属文件大类
     */
    @ApiModelProperty("文件签订归属文件大类")
    private String ascriptionClass;
    /**
     * 文件签订归属文件小类
     */
    @ApiModelProperty("文件签订归属文件小类")
    private String ascriptionSubClass;
    /**
     * 所属类别;类别表
     */
    @ApiModelProperty("所属类别;类别表")
    private String classNo;
    /**
     * 规则编号;规则表
     */
    @ApiModelProperty("规则编号;规则表")
    private String ruleNo;
    /**
     * 操作时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("操作时间")
    private Date operationTime;

    /**
     * 同步状态
     */
    @ApiModelProperty("同步状态")
    private String synchronizationState;


    /**
     * 打印场景
     */
    @ApiModelProperty("打印场景")
    private String printNode;
}
